package com.travelshare.business.service;

import java.util.List;
import com.travelshare.business.domain.ColumnDetail;
import com.travelshare.business.domain.app.LbtData;

/**
 * 文章内容详情Service接口
 * 
 * @author travelshare
 * @date 2024-02-22
 */
public interface IColumnDetailService 
{
    /**
     * 查询文章内容详情
     * 
     * @param detailId 文章内容详情主键
     * @return 文章内容详情
     */
    public ColumnDetail selectColumnDetailByDetailId(Long detailId);

    /**
     * 查询文章内容详情列表
     * 
     * @param columnDetail 文章内容详情
     * @return 文章内容详情集合
     */
    public List<ColumnDetail> selectColumnDetailList(ColumnDetail columnDetail);

    /**
     * 新增文章内容详情
     * 
     * @param columnDetail 文章内容详情
     * @return 结果
     */
    public int insertColumnDetail(ColumnDetail columnDetail);

    /**
     * 修改文章内容详情
     * 
     * @param columnDetail 文章内容详情
     * @return 结果
     */
    public int updateColumnDetail(ColumnDetail columnDetail);

    /**
     * 批量删除文章内容详情
     * 
     * @param detailIds 需要删除的文章内容详情主键集合
     * @return 结果
     */
    public int deleteColumnDetailByDetailIds(Long[] detailIds);

    /**
     * 删除文章内容详情信息
     * 
     * @param detailId 文章内容详情主键
     * @return 结果
     */
    public int deleteColumnDetailByDetailId(Long detailId);
    
    /**
     * 检测操作文章内容详情是否有权限
     * 
     * @param detailIds 数据主键集合
     * @param userId 用户id
     * @return 结果
     */
    public int checkColumnDetailByDetailIdsAndUserId(Long[] detailIds, Long userId);
    
    /**
     * 批量更新攻略点击量
     * */
    public int  batchInfoColumnDetail(List<ColumnDetail> columnDetailList);
    
    /**
     * app端 查询文章内容详情
     * 
     * @param detailId 文章内容详情主键
     * @return 文章内容详情
     */
    public ColumnDetail selectColumnDetailForAppByDetailId(Long detailId);
    
    /**
     * app 首页轮播图
     * 
     * @param columnDetail 文章内容详情
     * @return 结果
     * */
    public List<LbtData> selectLbtData(ColumnDetail columnDetail);
    
    /**
     * 查询文章内容详情
     * 
     * @param detailId 文章内容详情主键
     * @param userIds 用户id
     * @return 文章内容详情
     */
    public ColumnDetail selectColumnDetailByDetailIdAndUserId(Long detailId, Long userIds);
}
